package com.itheima.d1_collection_set;

import com.itheima.d1_collection_set.bean.Student;

import java.util.Arrays;
import java.util.Comparator;
import java.util.TreeSet;

/**
 * 目标：掌握TreeSet集合的使用。
 */
public class SetTest4 {
    public static void main(String[] args) {
        //元素具有默认排序：如果元素类型实现了comparable接口，意味着该元素具有默认排序功能
        TreeSet<Integer> ids = new TreeSet<>();

        ids.add(1);
        ids.add(1);
        ids.add(4);
        ids.add(3);
        ids.add(2);

        ids.forEach(System.out::println);//1,2,3,4 去重，排序


        //TreeSet存储指定类型的对象，如果要有排序能力必须实现Comparable接口，重写compareTo方法
        //需要手动提供一个比较器给TreeSet

        TreeSet<Student> students = new TreeSet<>();

        students.add(new Student("小红",15,180));
        students.add(new Student("小绿",18,178));
        students.add(new Student("小蓝",17,168));

        TreeSet<Student>students1 = new TreeSet<>(new Comparator<Student>() {
            @Override
            public int compare(Student o1, Student o2) {
                return Double.compare(o1.getHeight(), o2.getHeight());
            }
        });

        students1.add(new Student("小红",15,180));
        students1.add(new Student("小绿",18,178));
        students1.add(new Student("小蓝",17,168));

        for (Student student : students1) {
            System.out.println(student);
        }

    }
}
